/**
 * Created by jiachenpan on 16/11/18.
 */

/* 是否是邮箱 */
export function isWscnEmail(str) {
    const reg = /^[A-Za-z0-9._%-]+@([A-Za-z0-9-]+.)+[A-Za-z]{2,4}$/

    return reg.test(str.trim())
}

/* 合法uri */
export function validateURL(textval) {
    const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
    return urlregex.test(textval)
}

/* 校验全小写字母 */
export function validateLowerCase(str) {
    const reg = /^[a-z]+$/
    return reg.test(str)
}

/* 验证key */
// export function validateKey(str) {
//     var reg = /^[a-z_\-:]+$/;
//     return reg.test(str);
// }

/* 校验全大写字母 */
export function validateUpperCase(str) {
    const reg = /^[A-Z]+$/
    return reg.test(str)
}

/* 大小写字母 */
export function validatAlphabets(str) {
    const reg = /^[A-Za-z]+$/
    return reg.test(str)
}
/* 数字 */
export function validateNumber(str) {
    const reg = /^[0-9]*$/g
    return reg.test(str)
}

/* 数字或字母的组合规则 */
export function validateLetterNumber(str) {
    const reg = /^[0-9]|[a-zA-Z]*$/
    return reg.test(str)
}

/* 数字或字母或汉字的组合规则 */
export function validateLetterNumberWord(str) {
    const reg = /^[\u4e00-\u9fa5]|[0-9]|[a-zA-Z]+$/g
    return reg.test(str)
}
/*汉字的组合规则 */
export function validateWord(str) {
    const reg = /^[\u4e00-\u9fa5]+$/g
    return reg.test(str)
}

/* 是否是手机号码
 *  暂时不验证第二位是否是 3|4|5|7|8，不排除以后运营商增加其他网段
 *  如果必须验证第二位，可以替换成： reg = /^1(3|4|5|7|8)\d{9}$/
 * */
export function isMobilePhone(str) {
    str = str + '' || ''
    const reg = /^1[0-9]{10}$/
    return reg.test(str.trim())
}

/* 是否是传真 */
export function isFax(str) {
    str = str + '' || ''
    const reg = /^(\d{3,4}-)?\d{7,9}$/
    return reg.test(str.trim())
}

/* 是否是电话或者手机号码 */
export function isTel(str) {
    return /^0\d{2,3}-?\d{7,8}$/.test(str.trim()) || isMobilePhone(str)
}

export function removeWhiteSpace(str) {
    if (str) {
        return str.trim()
    } else {
        return false
    }
}

export function checkPasswordStrong(val) {
    var aLvTxt = [0, 1, 2, 3];
    var lv = 0;
    if (val.match(/[a-z]/g)) { // 验证是否包含字母
        lv++;
    }
    if (val.match(/[0-9]/g)) { // 验证是否包含数字
        lv++;
    }
    if (val.match(/(.[^a-z0-9])/g)) { // 验证是否包含字母，数字，字符
        lv++;
    }
    if (lv > 3) {
        lv = 3;
    }
    return aLvTxt[lv];
}